package com.bham.teamwork.dao;
import java.util.List;
import java.util.Map;

import org.springframework.jdbc.core.BatchPreparedStatementSetter;
import org.springframework.jdbc.core.RowMapper;

/**
 * 
 * @author Alessandro Pozzer
 * @author Federico Pozzer
 * @author RuJia Li 
 * 
 */

public interface BaseDao{

		public List getObjectListBySQL(final String strsql, final String classstr, final Class clazz, final int pagenum,int pageSize);
		
		public List getObjectListBySQL(final String strsql, final String classstr, final Class clazz, final int pagenum,int pageSize, final Object[] params);
		
		public Object getObject(String sql, RowMapper rm, Object... args);
		
		public List getObjectList(String sql, RowMapper rm, Object... args);
		
		public List getObjectList(String sql, RowMapper rm, int pagenum, int pagesize, Object... args);
		
		public Map<String, Object> getObjectMap(String sql, Object... args);
		
		public List<Map<String, Object>> getObjectMapList(String sql, Object... args);
		
		public List<Map<String, Object>> getObjectMapList(String sql,int pagenum,int pagesize, Object... args);
		
		public int updateExecute(String sql, Object... args);
		
		public int updateExecute(String sql, Map param);
		
		public int[] updateExecute(String sql, BatchPreparedStatementSetter batchPreparedStatementSetter);
		
		public Map queryForMap(String strsql, Object... obj);
		
		public String getUUID();
		
		public int[] batchUpdate(String[] sql, Object... args);
}
